node.jsのいろいろなモジュール48 – CSV操作をする
nodeでCSVの操作
CSVファイルをパースして処理する機会は今も昔も非常に多いと思います。 今回紹介するCSV.jsは、nodeで使用できるシンプルなCSVパーサです。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.9.3
- Node : v0.10.26
サンプルアプリ作成
モジュールのインストール
まずはモジュールをnpmでインストールしましょう。
% npm install comma-separated-values
サンプル作成
モジュールの使い方は簡単です。 下記のようにモジュールを読み込んだ後、CSVオブジェクトにCSVデータを渡してparse関数を呼ぶだけでパースされたJSON形式のデータが取得できます。
var CSV = require("comma-separated-values"); var data = '\ year,age,name\r\n\ 1980,34,taro\r\n\ 1979,35,hanako\r\n\ '; var result = new CSV(data, { header: true }).parse(); console.log(result);
すると、下記のような構造化されたデータが取得できます。
[ { year: 1980, age: 34, name: 'taro' }, { year: 1979, age: 35, name: 'hanako' } ]
また、CSV1レコードずつを処理したい場合、forEach関数を使用して処理することもできます。
new CSV(data, { header: true }).forEach(function(object) { console.log(object); });
まとめ
よくあるCSVデータの処理も、このモジュールで簡単に行うことができますね。
参考サイトなど
- Github: https://github.com/knrz/CSVjs